﻿// <copyright file="TreeNodeTag.cs" company="Sinclair Community College">
// Copyright (c) Sinclair Community College. All rights reserved.
// </copyright>

namespace SinclairCC.AppVSuite.PermissionCopy
{
    /// <summary>
    /// This class is used to store data in a TreeNode's Tag property.
    /// </summary>
    internal class TreeNodeTag
    {
        /// <summary>
        /// The type of object that is represented by the tree node.
        /// </summary>
        private AppVObjectType type;

        /// <summary>
        /// The unique ID of the object represented by the tree node.
        /// </summary>
        private int id;

        /// <summary>
        /// Initializes a new instance of the TreeNodeTag class.
        /// </summary>
        /// <param name="id">
        /// The ID of the application or application group represented by the tree node.
        /// </param>
        /// <param name="type">
        /// Indicates whether the tree node represents an application or an application group.
        /// </param>
        public TreeNodeTag(int id, AppVObjectType type)
        {
            this.id = id;
            this.type = type;
        }

        /// <summary>
        /// Gets or sets the unique ID of the object represented by the tree node.
        /// </summary>
        public int ID
        {
            get { return this.id; }
            set { this.id = value; }
        }

        /// <summary>
        /// Gets or sets the type of object that is represented by the tree node.
        /// </summary>
        public AppVObjectType Type
        {
            get { return this.type; }
            set { this.type = value; }
        }
    }
}
